// 引入路由对象
import router from './router'
// 引入vuex对象
import store from './store'
router.beforeEach(async (to, from, next) => {
  // 获取token
  const token = store.getters.getToken
  // 获取用户信息
  const userInfo = store.getters.getUserInfo
//   判断token是否存在
  if(token) {
    //   如果登录后还在login页面的去原来的页面
    if(to.path == '/login') {
      next(form.path)
    } else {
      //否侧就判断是否有用户信息
      // 如果有
      if(userInfo.length > 0) {
        // 就放行
        next()
      }else {
        // 没有就获取用户信息
        const response = await store.dispatch('handleUserInfo')
        // 获取成功就放行
        if(response.error_code == 0) {
          next()
        }else {
          // 获取不到就去登录页
          next('/login')
        }
      }
    }
  }else {
    //token不存在
    // 如果去的是登录页面就放行
    if(to.path == '/login') {
      next()
    }else {
      //如果不是登录页就返回登录页
      next('/login')
    }
  }
})